package com.shop2cn.iapi.sqoptrade.testcase;

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;

import com.shop2cn.iapi.sqoptrade.parameter.enums.SqSellerRoleEnum;
import com.shop2cn.iapi.sqoptrade.parameter.utill.Utils;
import com.ymttest.business.service.shenqi.CalculateShenqiSellerProfit;
import com.ymttest.business.service.shenqi.SqTradingCallService;
import com.ymttest.database.sharding.db.sharding.model.OrderDetailPo;
import com.ymttest.database.sharding.db.sharding.model.OrderPo;
import com.ymttest.database.sharding.db.sharding.model.ShenqiProxyChainPo;
import com.ymttest.database.sharding.db.sharding.model.ShenqiSellerProfitPo;

public class Test {

//	public void verifyShenqiSellerProfit(OrderPo orderPo,
//			List<OrderDetailPo> orderDetailList,
//			HashMap<String, BigDecimal> sellerProfitMap) {
//
//		long orderId = orderPo.getOrderId();
//		BigDecimal payableAmount = orderPo.getPayableAmount();
//
//		if (orderPo.getSellerId() == orderPo.getGoodsOwnerId()) {
//
//			ShenqiSellerProfitPo expectShenqiSellerProfitPo = new ShenqiSellerProfitPo();
//
//			expectShenqiSellerProfitPo.setOrderId(orderId);
//			expectShenqiSellerProfitPo.setSellerId(orderPo.getSellerId());
//			expectShenqiSellerProfitPo.setSellerRole(3);
//			expectShenqiSellerProfitPo.setProfit(payableAmount.subtract(Utils
//					.zeroIfNull(orderPo.getServiceAmount())));
//			expectShenqiSellerProfitPo.setChildSellerId(0L);
//
//			this.verifyShenqiSellerProfitDb(expectShenqiSellerProfitPo,
//					orderId, orderPo.getSellerId());
//		} else {
//			
//			boolean isInherited = TradingForDGSQCallService
//					.isInheritedAgent(orderPo.getSellerId());
//
//			// 所有规格的代理链条都是一样的，所以取其中一个规格获取所需的seller数量
//			List<ShenqiProxyChainPo> shenqiProxyChain = isInherited ? TradingForDGSQCallService
//					.getInheritedProxyChainInfo(orderDetailList.get(0)
//							.getCatalogId(), orderPo.getSellerId())
//					: TradingForDGSQCallService
//							.getProxyChainInfo(orderDetailList.get(0)
//									.getCatalogId());
//
//			// 客服的收入
//			BigDecimal serviceIncome = BigDecimal.ZERO;
//
//			// BigDecimal freight = orderPo.getFreight();
//			BigDecimal taxFee = orderDetailList
//					.stream()
//					.map(p -> p.getTaxFee().multiply(
//							new BigDecimal(p.getProductCount())))
//					.reduce(BigDecimal.ZERO, BigDecimal::add);
//
//			// 代理订单的运费不从订单上取，订单上的运费会被fullReductionFreeFreight影响
//			BigDecimal freight = orderDetailList.stream()
//					.map(p -> p.getFreight())
//					.reduce(BigDecimal.ZERO, BigDecimal::add);
//
//			int i = 1;
//			
//			for (ShenqiProxyChainPo chainPo : shenqiProxyChain) {
//
//				ShenqiSellerProfitPo expectShenqiSellerProfitPo = new ShenqiSellerProfitPo();
//
//				// 店主的总收入
//				BigDecimal shopOwnerTotalProfit = CalculateShenqiSellerProfit
//						.calProductTotalProfit(orderDetailList,
//								isInherited, chainPo, shenqiProxyChain,
//								orderPo, i, taxFee, freight,
//								SqSellerRoleEnum.ShopOwner.getCode(),
//								sellerProfitMap);
//				// 货头的总收入
//				BigDecimal goodsOwnerTotalProfit = CalculateShenqiSellerProfit
//						.calProductTotalProfit(orderDetailList,
//								isInherited, chainPo, shenqiProxyChain,
//								orderPo, i, taxFee, freight,
//								SqSellerRoleEnum.GoodOwner.getCode(), null);
//				// 中间商的总收入
//				BigDecimal middlerManTotalProfit = CalculateShenqiSellerProfit
//						.calProductTotalProfit(orderDetailList,
//								isInherited, chainPo, shenqiProxyChain,
//								orderPo, i, taxFee, freight,
//								SqSellerRoleEnum.MiddlerMan.getCode(), null);
//
//				if (isInherited) {
//
//					if (shenqiProxyChain.size() >= 3) {
//
//						goodsOwnerTotalProfit = goodsOwnerTotalProfit.add(
//								taxFee).add(freight);
//
//						if (shenqiProxyChain.size() - 1 == i) {
//
//							// 优惠总额：买手优惠券 + 买手满减优惠
//							BigDecimal totalPromotion = orderPo
//									.getPromotionAmount()
//									.add(orderPo.getSellerCouponAmount());
//
//							middlerManTotalProfit = middlerManTotalProfit
//									.add(orderPo.getOrderDiscount())
//									.subtract(freight)
//									.add(orderPo.getFreight())
//									.subtract(shopOwnerTotalProfit)
//									.subtract(totalPromotion);
//							expectShenqiSellerProfitPo
//									.setSubDistributionProfit(shopOwnerTotalProfit
//											.setScale(2,
//													BigDecimal.ROUND_DOWN));
//						}
//					} else {
//
//						goodsOwnerTotalProfit = orderPo.getPayableAmount()
//								.subtract(shopOwnerTotalProfit);
//
//						if (shenqiProxyChain.size() - 1 == i)
//							expectShenqiSellerProfitPo
//									.setSubDistributionProfit(shopOwnerTotalProfit);
//					}
//				} else {
//
//					// 优惠总额：买手优惠券 + 买手满减优惠
//					BigDecimal totalPromotion = orderPo
//							.getPromotionAmount().add(
//									orderPo.getSellerCouponAmount());
//
//					shopOwnerTotalProfit = shopOwnerTotalProfit
//							.add(orderPo.getOrderDiscount())
//							.subtract(totalPromotion).subtract(freight)
//							.add(orderPo.getFreight());
//					goodsOwnerTotalProfit = goodsOwnerTotalProfit.add(
//							freight).add(taxFee);
//				}
//
//				expectShenqiSellerProfitPo.setOrderId(orderId);
//				expectShenqiSellerProfitPo.setSellerId(chainPo
//						.getSellerId());
//				expectShenqiSellerProfitPo.setChildSellerId(chainPo
//						.getChildSellerId());
//
//				// 如果是货头
//				if (chainPo.getIndexInChain() == 0
//						&& orderPo.getSellerId() != orderPo
//								.getGoodsOwnerId()) {
//
//					expectShenqiSellerProfitPo.setSellerRole(2);
//					expectShenqiSellerProfitPo
//							.setProfit(goodsOwnerTotalProfit);
//				}
//				// 如果是店主
//				else if (chainPo.getSellerId().longValue() == orderPo
//						.getSellerId().longValue()) {
//
//					expectShenqiSellerProfitPo.setSellerRole(1);
//					expectShenqiSellerProfitPo
//							.setProfit(shopOwnerTotalProfit);
//				}
//				// 如果是中间商
//				else {
//
//					expectShenqiSellerProfitPo.setSellerRole(4);
//					expectShenqiSellerProfitPo
//							.setProfit(middlerManTotalProfit);
//				}
//
//				serviceIncome = expectShenqiSellerProfitPo.getProfit();
//
//				this.verifyShenqiSellerProfitDb(expectShenqiSellerProfitPo,
//						orderId, expectShenqiSellerProfitPo.getSellerId());
//
//				i = i + 1;
//			}
//
//			if (orderPo.getSalesman() != 0) {
//
//				ShenqiSellerProfitPo expectShenqiSellerProfitPo = new ShenqiSellerProfitPo();
//
//				expectShenqiSellerProfitPo.setOrderId(orderId);
//				expectShenqiSellerProfitPo.setSellerId(orderPo
//						.getSalesman());
//				expectShenqiSellerProfitPo.setSellerRole(5);
//				expectShenqiSellerProfitPo.setProfit(serviceIncome);
//				expectShenqiSellerProfitPo.setChildSellerId(0L);
//
//				this.verifyShenqiSellerProfitDb(expectShenqiSellerProfitPo,
//						orderId, orderPo.getSalesman());
//			}
//		}
//	}
	
	public static void main(String[] args) {
		System.out.println("1");
	}
}
